]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
gdm: disallow cancel after verification succeeds
authorRay Strode <rstrode@redhat.com>
Sun, 5 Oct 2014 20:27:00 +0000 (16:27 -0400)
committerRay Strode <rstrode@redhat.com>
Mon, 17 Nov 2014 17:11:02 +0000 (12:11 -0500)
Once verification has succeeded, the train's already
left the building and we shouldn't allow canceling.

This commit renders the cancel button non-reactive
and makes the cancel function be a noop after
verification succeeds.

https://bugzilla.gnome.org/show_bug.cgi?id=740141

js/gdm/authPrompt.js

index 1e51faa5cc686e00cd196af250d3b66a09dc4371..26a4e2c2d963ddca8c86b55dc9e1f455e4dd1d61 100644 (file)
@@ -261,6 +261,7 @@ const AuthPrompt = new Lang.Class({
 
     _onVerificationComplete: function() {
         this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED;
+       this.cancelButton.reactive = false;
     },
 
     _onReset: function() {
@@ -432,6 +433,7 @@ const AuthPrompt = new Lang.Class({
     reset: function() {
         let oldStatus = this.verificationStatus;
         this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
+        this.cancelButton.reactive = true;
 
         if (oldStatus == AuthPromptStatus.VERIFYING)
             this._userVerifier.cancel();
@@ -500,6 +502,9 @@ const AuthPrompt = new Lang.Class({
     },
 
     cancel: function() {
+        if (this.verificationStatus == AuthPromptStatus.NOT_VERIFYING || this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) {
+            return;
+        }
         this.reset();
         this.emit('cancelled');
     }